package util.IME;

import javax.swing.*;
import java.awt.*;

/**
 * Created by hanyz on 2017/3/27.
 * 用c++实现切换英文输入法。只能用于windows
 */
// FIXME: 2017/3/29 可能绕远了，如果后面有发现java方法能够直接实现切换的，请替换这个。
public class IMEUtil {
	static{
		System.loadLibrary("Win32Project1");
	}
	//获取输入法的的名称，有一串没用的多余字符，不处理了，这个暂时用不到
	public native String getIME();
	//加载英文输入法
	public native void load();
	//测试程序：获取输入法名称，修改为英文输出法，再次获取输出法名称
	public static void main(String[] args) {
		IMEUtil getIME = new IMEUtil();
		JFrame jFrame = new JFrame();
		jFrame.setSize(new Dimension(200,50));
		JTextField jTextField = new JTextField();
		jTextField.setPreferredSize(new Dimension(80,25));
		jTextField.setMinimumSize(new Dimension(80,25));
		jFrame.add(jTextField);
		jFrame.setVisible(true);
		String ime = getIME.getIME();
		System.out.println(ime+"****");
		getIME.load();
		ime = getIME.getIME();
		System.out.println(ime+"****");
	}
}
